package cn.byapps.hw.service;


import cn.byapps.hw.entity.Teacher;
import cn.byapps.hw.vo.ClazzTimetableVO;
import cn.byapps.hw.vo.TeacherTimetableVO;

import java.text.ParseException;
import java.util.List;

public interface TimetableService {
    /**
     * 根据老师实体以及传入周数，获取当前周数该老师的课程表
     *
     * @param teacher 老师实体
     * @param date    传入周数（-1代表上一周，0代表当前时间，1代表下周）
     * @return
     * @throws ParseException
     */
    List<TeacherTimetableVO> teacherTimetable(Teacher teacher, Integer date) throws ParseException;

    /**
     * 根据班级ID以及传入周数，获取当前周数该班级的课程表
     *
     * @param clazzId 班级ID
     * @param date    传入周数（-1代表上一周，0代表当前时间，1代表下周）
     * @return
     * @throws ParseException
     */
    List<ClazzTimetableVO> clazzTimetable(Integer clazzId, Integer date) throws ParseException;

    /**
     * 获取所有老师的课程表
     *
     * @return
     */
    List<TeacherTimetableVO> getAll();
}
